home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
Windows.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
8KB
|
217 lines
/*
File: Windows.idl
Contains: Window Manager Interfaces.
Version: Technology: System 7.5
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __WINDOWS_IDL__
#define __WINDOWS_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifndef __MEMORY_IDL__
#include <Memory.idl>
#endif
#ifndef __QUICKDRAW_IDL__
#include <Quickdraw.idl>
#endif
#ifndef __EVENTS_IDL__
#include <Events.idl>
#endif
#ifndef __CONTROLS_IDL__
#include <Controls.idl>
#endif
#ifndef __HIWINDOWTYPES_IDL__
#include <HIWindowTypes.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
/*
_________________________________________________________________________________________________________
* WINDOW DEFINITION TYPE
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* WINDOW DEFINITION ID'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* VARIANT CODES
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* PROC-ID'S
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* STANDARD WINDOW KINDS
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* FIND WINDOW RESULT CODES
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* WINDOW DEFINITION HIT TEST RESULT CODES ("WINDOW PART")
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* WINDOW COLOR PART CODES
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* WINDOW COLOR TABLE STRUCTURE
_________________________________________________________________________________________________________
*/
typedef SOMLargeStruct WinCTab; /* Derived from a struct of 48 bytes in size */
typedef OpaquePtr WCTabPtr; /* Substituted OpaquePtr for ``WinCTab*'' */
typedef OpaquePtr WCTabHandle; /* Substituted OpaquePtr for ``WCTabPtr*'' */
/*
_________________________________________________________________________________________________________
* WINDOWRECORD
_________________________________________________________________________________________________________
*/
typedef OpaquePtr WindowPeek; /* Substituted OpaquePtr for ``WindowRecord*'' */
typedef SOMLargeStruct WindowRecord; /* Derived from a struct of 156 bytes in size */
/*
_________________________________________________________________________________________________________
* CWINDOWRECORD
_________________________________________________________________________________________________________
*/
typedef OpaquePtr CWindowPeek; /* Substituted OpaquePtr for ``CWindowRecord*'' */
typedef SOMLargeStruct CWindowRecord; /* Derived from a struct of 156 bytes in size */
/*
_________________________________________________________________________________________________________
* AUXWINDHANDLE
_________________________________________________________________________________________________________
*/
typedef OpaquePtr AuxWinPtr; /* Substituted OpaquePtr for ``AuxWinRec*'' */
typedef OpaquePtr AuxWinHandle; /* Substituted OpaquePtr for ``AuxWinPtr*'' */
typedef SOMLargeStruct AuxWinRec; /* Derived from a struct of 28 bytes in size */
/*
_________________________________________________________________________________________________________
* WSTATEHANDLE
_________________________________________________________________________________________________________
*/
typedef SOMLargeStruct WStateData; /* Derived from a struct of 16 bytes in size */
typedef OpaquePtr WStateDataPtr; /* Substituted OpaquePtr for ``WStateData*'' */
typedef OpaquePtr WStateDataHandle; /* Substituted OpaquePtr for ``WStateDataPtr*'' */
/*
_________________________________________________________________________________________________________
* API
_________________________________________________________________________________________________________
*/
/*
_________________________________________________________________________________________________________
* PROCS
_________________________________________________________________________________________________________
*/
typedef OpaquePtr WindowDefProcPtr;
typedef OpaquePtr WindowDefUPP;
typedef OpaquePtr DeskHookProcPtr;
typedef OpaquePtr DeskHookUPP;
/*
_________________________________________________________________________________________________________
* C GLUE
_________________________________________________________________________________________________________
*/
#if CGLUESUPPORTED
#endif
/*
_________________________________________________________________________________________________________
* WindowRecord accessor macros
_________________________________________________________________________________________________________
*/
/*
*****************************************************************************
* *
* The conditional STRICT_WINDOWS has been removed from this interface file. *
* The accessor macros to a WindowRecord are no longer necessary. *
* *
*****************************************************************************
Details:
The original purpose of the STRICT_ conditionals and accessor macros was to
help ease the transition to Copland. Shared data structures are difficult
to coordinate in a preemptive multitasking OS. By hiding the fields in a
WindowRecord and other data structures, we would begin the migration to
system data structures being completely hidden from applications.
After many design reviews, it was finally concluded that with this sort of
migration, the system could never tell when an application was no longer
peeking at a WindowRecord, and thus the data structure might never become
system owned. Additionally, there were many other limitations in the classic
toolbox that were begging to be addressed.
The final decision was to leave the traditional toolbox as a compatibility mode.
The preferred toolbox API for Copland is a new SOM(tm) based architecture
(e.g. HIWindows.idl). Windows, menu, controls, etc are each a SOM object
with methods for drawing, event handling, and customization.
*/
#ifdef __cplusplus
#else
#endif
#endif
#endif /* __SOMIDL__ */
#endif /* __WINDOWS_IDL__ */